package cn.gx.kevin.domain;

import java.io.Serializable;
import java.util.Date;
import cn.gx.kevin.domain.BaseDomain;
import cn.gx.kevin.common.annotation.NewOldCompare;
import cn.gx.kevin.common.annotation.Require;
import cn.gx.kevin.common.annotation.Uniquely;

import cn.gx.kevin.common.annotation.NotApiParam;
import cn.gx.kevin.common.annotation.ApiParams;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;

/**
 *Generate by Kevin's CodeBuilder  2021-09-24 03:28
 *
 **/
public class Org  extends BaseDomain{


	private static final long serialVersionUID = 849379852267312711L;

	/**
	 *
	 */
	@ApiParams("")
	@ExcelIgnore
	private String id;

	/**
	 *父机构ID
	 */
	@ApiParams("父机构ID")
	@ExcelIgnore
	private String pid;

	/**
	 *机构类别,1:父机构，0子机构
	 */
	@ApiParams("机构类别,1:父机构，0子机构")
	@ExcelIgnore
	private Integer orgType;

	/**
	 *机构名称
	 */
	@ApiParams("机构名称")
	@Require(langKey="org_Require")
	@Uniquely(langKey="org_Uniquely",extField="pid")
	@NewOldCompare
	@ExcelProperty(value = "机构名称",index = 2)
	private String orgName;

	/**
	 *机构代码
	 */
	@ApiParams("机构代码")
	@Require(langKey="orgCode_Require")
	@Uniquely(langKey="orgCode_Uniquely",extField="")
	@NewOldCompare
	@ExcelProperty(value = "机构代码",index = 0)
	private String orgCode;


	public String getPrtOrgCode() {
		return prtOrgCode;
	}

	public void setPrtOrgCode(String prtOrgCode) {
		this.prtOrgCode = prtOrgCode;
	}

	/**
	 *父机构代码
	 */
	@ApiParams("父机构代码")

	@ExcelProperty(value = "父机构代码",index = 1)
	private String prtOrgCode;


	/**
	 *机构描述
	 */
	@ApiParams("机构描述")
	@ExcelIgnore
	private String orgDesp;

	/**
	 *机构所属区域
	 */
	@ApiParams("机构所属区域")
	@ExcelIgnore
	private String orgRegion;

	/**
	 *机构地址
	 */
	@ApiParams("机构地址")
	@ExcelProperty(value = "机构地址",index = 3)
	private String orgAddr;

	/**
	 *状态
	 */
	@ApiParams("状态")
	@ExcelIgnore
	private Integer status;

	/**
	 *联系方式
	 */
	@ApiParams("联系方式")
	@ExcelIgnore
	private String contact;

	/**
	 *排序
	 */
	@ApiParams("排序")
	@ExcelIgnore
	private Integer orderIndex;

	/**
	 *扩展字段1
	 */
	@ApiParams("扩展字段1")
	@ExcelIgnore
	private String ext1;

	/**
	 *创建时间
	 */
	@NotApiParam
	@ExcelIgnore
	private Date createTime;

	/**
	 *创建用户ID
	 */
	@NotApiParam
	@ExcelIgnore
	private String createUserId;

	/**
	 *扩展字段2
	 */
	@ApiParams("扩展字段2")
	@ExcelIgnore
	private String ext2;

	/**
	 *更新时间
	 */
	@NotApiParam
	@ExcelIgnore
	private Date updateTime;

	/**
	 *
	 */
	public String getId() {
		return id;
	}

	/**
	 *
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 *父机构ID
	 */
	public String getPid() {
		return pid;
	}

	/**
	 *父机构ID
	 */
	public void setPid(String pid) {
		this.pid = pid;
	}

	/**
	 *机构类别,1:父机构，0子机构
	 */
	public Integer getOrgType() {
		return orgType;
	}

	/**
	 *机构类别,1:父机构，0子机构
	 */
	public void setOrgType(Integer orgType) {
		this.orgType = orgType;
	}

	/**
	 *机构名称
	 */
	public String getOrgName() {
		return orgName;
	}

	/**
	 *机构名称
	 */
	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	/**
	 *机构代码
	 */
	public String getOrgCode() {
		return orgCode;
	}

	/**
	 *机构代码
	 */
	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}

	/**
	 *机构描述
	 */
	public String getOrgDesp() {
		return orgDesp;
	}

	/**
	 *机构描述
	 */
	public void setOrgDesp(String orgDesp) {
		this.orgDesp = orgDesp;
	}

	/**
	 *机构所属区域
	 */
	public String getOrgRegion() {
		return orgRegion;
	}

	/**
	 *机构所属区域
	 */
	public void setOrgRegion(String orgRegion) {
		this.orgRegion = orgRegion;
	}

	/**
	 *机构地址
	 */
	public String getOrgAddr() {
		return orgAddr;
	}

	/**
	 *机构地址
	 */
	public void setOrgAddr(String orgAddr) {
		this.orgAddr = orgAddr;
	}

	/**
	 *状态
	 */
	public Integer getStatus() {
		return status;
	}

	/**
	 *状态
	 */
	public void setStatus(Integer status) {
		this.status = status;
	}

	/**
	 *联系方式
	 */
	public String getContact() {
		return contact;
	}

	/**
	 *联系方式
	 */
	public void setContact(String contact) {
		this.contact = contact;
	}

	/**
	 *排序
	 */
	public Integer getOrderIndex() {
		return orderIndex;
	}

	/**
	 *排序
	 */
	public void setOrderIndex(Integer orderIndex) {
		this.orderIndex = orderIndex;
	}

	/**
	 *扩展字段1
	 */
	public String getExt1() {
		return ext1;
	}

	/**
	 *扩展字段1
	 */
	public void setExt1(String ext1) {
		this.ext1 = ext1;
	}

	/**
	 *创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}

	/**
	 *创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	/**
	 *创建用户ID
	 */
	public String getCreateUserId() {
		return createUserId;
	}

	/**
	 *创建用户ID
	 */
	public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}

	/**
	 *扩展字段2
	 */
	public String getExt2() {
		return ext2;
	}

	/**
	 *扩展字段2
	 */
	public void setExt2(String ext2) {
		this.ext2 = ext2;
	}

	/**
	 *更新时间
	 */
	public Date getUpdateTime() {
		return updateTime;
	}

	/**
	 *更新时间
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@Override
	public String toString(){
		return "id=[" +getId() +"] pid=[" +getPid() +"] orgType=[" +getOrgType() +"] orgName=[" +getOrgName() +"] orgCode=[" +getOrgCode() +"] orgDesp=[" +getOrgDesp() +"] orgRegion=[" +getOrgRegion() +"] orgAddr=[" +getOrgAddr() +"] status=[" +getStatus() +"] contact=[" +getContact() +"] orderIndex=[" +getOrderIndex() +"] ext1=[" +getExt1() +"] createTime=[" +getCreateTime() +"] createUserId=[" +getCreateUserId() +"] ext2=[" +getExt2() +"] updateTime=[" +getUpdateTime() +"]";
	}
}
